Por que escrevemos aplicações para o elementary na Linguagem de Programação Vala

Robert San
elementary Brasil
Published in
3 min readMay 9, 2017

--

Se você segui o desenvolvimento do elementary SO, você pode saber que não escrevemos nossos aplicativos em C ou Python, mas sim em uma linguagem chamada Vala . Embora seja verdade que uma linguagem mais convencional reduziria a barreira à entrada de novos desenvolvedores de terceiros e de terceiros, a Vala provou ser uma ferramenta extremamente eficaz para as nossas necessidades.

Vala é uma linguagem de programação orientada a objetos desenvolvida pela Fundação GNOME , que foi lançada pela primeira vez em 2006. Sintaxe-wise, Vala parece e age de forma muito semelhante ao Java ou C#, o que torna fácil para os novos contribuidores alavancar seus conhecimentos e experiência de outras línguas. A clara sintaxe de Vala e o estreito acoplamento com o sistema GObject fortemente tipificado promovem código altamente legível, expressivo e sustentável, ao mesmo tempo em que evitam classes inteiras de falhas e bugs.

Uma vez que Vala compila para C (e, em seguida, em binário), temos acesso a um grande número de ligações para bibliotecas escritas em C. Isso é extremamente importante, dado o número de bibliotecas C disponíveis para o desktop Linux. Todas as nossas aplicações de desktop são escritas usando o GTK + toolkit, e muitos dependem fortemente de bibliotecas baseadas em GObject, incluindo Gee, WebKitGTK, VTE e GStreamer. Existem ligações para dezenas de populares bibliotecas GObject C, e escrever novas é muito fácil.

Antes de adotarmos o Vala, escreviamos nossos aplicativos de desktop em Python. Como linguagem e plataforma, o Python tornou os aplicativos em desenvolvimento fáceis e rápidos. No entanto, esta facilidade de desenvolvimento veio a um custo sério — desempenho, suporte de ligação e manutenção tornaram-se pontos de dor importante para nós com o Python. Pior ainda, a adoção lenta e fragmentada do Python 3 sobre o Python 2, particularmente em distribuições Linux, tornou a embalagem de nossos aplicativos e ferramentas de desenvolvedor para diferentes ambientes tediosa e desafiadora. Binários nativos Vala têm provado ser um melhor em ajuste para nós.

Um aplicativo Gtk + simples em Vala

Porque Vala é desenvolvido pelos mesmos desenvolvedores incríveis que fazem o GTK+, a integração entre Vala e GTK+ é perfeita. Estender o GTK+ com a Vala também se mostrou bem sucedido. Na verdade, criamos nosso próprio conjunto de widgets que compõem e complementam o que o GTK+ fornece por padrão. Este super-conjunto de GTK+, chamado Granite , está no coração de quase todas as aplicações elementary, e o excelente sistema de orientada a objetos de Vala, entre outros recursos sofisticados de linguagem, tem sido a chave para o nosso desenvolvimento.

Vala tem excelente documentação, seja sob a forma de tutoriais , amostras de código ou uma referência API muito fácil de usar . Então, se você está interessado em nos ajudar em nossos projetos (que nós apreciamos muito — estamos sempre procurando novos contribuidores!), Ou estamos planejando lançar fantásticos aplicativos de desktop de terceiros para o elementary, não podemos deixar de recomendar Vala. Mergulhe!

¯\_(ツ)_/¯

Tradução do medium do elementary OS

--

--